#ifndef __NET_CONFIG_H__
#define __NET_CONFIG_H__

#include <stdint.h>
#include <stdbool.h>

#define NET_CONFIG_ADDRESS  0x00080000UL

/*网络配置结构体*/
typedef struct
{
	  uint8_t  auch_SIP[4];      /*源IP地址*/
	  uint8_t  auch_SUB[4];      /*子网掩码*/ 
    uint8_t  auch_GA[4];       /*网关IP地址*/
		uint8_t  auch_DNS[4];      /*DNS服务器地址 */
    uint8_t  auch_SHA[6];      /*源MAC地址*/   	  
    uint16_t uin_RTR;          /*重试超时时间*/
    uint8_t  uch_RCR;          /*重试次数*/
	  
}NetConfig_TypeDef;

extern NetConfig_TypeDef local_net_config;  //声明外部全局网络配置项

void LoadNetConfigFromFlash(void);
void SaveNetConfigToFlash(void);
void ResetNetConfigToDefault(void);

bool is_invalid_ip(uint8_t ip[4]);
bool is_invalid_mac(uint8_t mac[6]);

#endif
